home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr53 / forth030.zip / NOTES.DOC < prev    next >
Text File  |  1993-06-29  |  7KB  |  223 lines

  1.  
  2.   **************************** Authors Notes ******************************
  3.  
  4.  
  5.   This is my first attempt at doing OS/2 Full Screen, FLAT32 code.
  6.  
  7.   It was written using the editor from Borland's Turbo Pascal 6.0+7.0
  8.  
  9.   It is compiled using MicroSoft's MASM version 6.0
  10.  
  11.   It was linked using LINK386 supplied with IBM's OS/2 version 2.0
  12.  
  13.   This program requires OS/2 version 2.0 or later, and is designed
  14.   strictly for full screen text mode.
  15.  
  16.   The source code for this fine program is available with registration!!
  17.  
  18.   ************************* MODIFICATION HISTORY ***********************
  19.  
  20.   This document was last updated June 30,1993
  21.  
  22.  6/30/93 - MAW Got interpreter working again, needs a lot of work.
  23.                I NEED A DEBUGGER for OS/2
  24.                (Code works, somewhat acceptably- now using OS/2 v2.1)
  25.  
  26.  6/29/93 - MAW Big revision to help get to dp-ANS standards for the CORE
  27.            vocabulary.
  28.  
  29.  6/ 7/93 - MAW Added  SOURCE, S"
  30.  
  31.  Version 0.29ßeta
  32.  5/12/93 - BBM Added  ACCEPT  ALIGN  ALIGNED  CHAR  CHARS  CHAR+
  33.                       UNLOOP  [']  [CHAR]  2@  2!  2*  2/  2OVER  2SWAP
  34.                       S"  S>D  UM/MOD  UM*  M*  INVERT  POSTPONE
  35.  
  36.            Renamed or redefined (to conform to ANS Standard):
  37.                       CELL+  CELLS  CELL  LSHIFT  RSHIFT  MOVE  '
  38.                       CASE..OF..ENDOF..ENDCASE
  39.            Fixed other various problems.
  40.  
  41.  Version 0.28ßeta
  42.  5/12/93 - MAW Add more floating point words, update documentation
  43.  
  44.  Version 0.27ßeta
  45.  5/11/93 - MAW First version of F. working, needs polish.
  46.  
  47.  Version 0.26ßeta
  48.  4/28/93 - MAW Rename Delay to MS, there are going to be a lot of
  49.                changes to make this ANS compliant
  50.                START adding floating point core words
  51.  
  52.  4/27/93 - MAW Recieved dpANS draft from Brian Mathewson
  53.  
  54.  4/21/93 - MAW Modify valuetable to work up to base 36, test mods
  55.                Modify AutoLoad to scan environment for directory to
  56.                  load forth.ini from.
  57.                Add Environment and Commandline functions
  58.  
  59.  3/23/93 - MAW Incorporate changes from Brian, bump to version 0.25ßeta
  60.    Nearing version 1.0 (5/12/93 - HA!)
  61.  
  62.  3/15/93 - MAW
  63.    Find Ordinal value for DOS32KillThread
  64.    Add word DELAY, similar to TP7 definition.
  65.    Modify threads.4th definition of KillThread so that it works.
  66.    Tested against bunny, looks good.
  67.  
  68.  3/12/93 - MAW
  69.    Fix hard to find bug: had CODEDEF in instruction stream!
  70.    Fix EqualStr ="
  71.    Modify LookFor to use EqualStr. (Works well)
  72.    Make DumpRegisters a FORTH word, with a nice little header to show
  73.      which register is which, and do it all in HEX!
  74.  
  75.  3/11/93 - Version 0.022 - Mike's revisions
  76.    Rearrange source, eliminate DoHeader macro, start recoding routines
  77.    to be re-entrant, and use ESI (or EBP) as a local storage pointer.
  78.  
  79.  2/ 7/93 - Version 0.021 - Brians revisions...
  80.  
  81.  1/15/93 -
  82.    Add \ for whole line comments ( zero's ecx! )
  83.  
  84.  1/15/93 - Version 0.019
  85.    Add pointers to LoadModule, FreeModule, QueryModule, QueryProcAddr,
  86.      QueryProcType, ExecPgm, StartSession
  87.    (Need to start building vocabularies!)
  88.  
  89.    Add Shell and CommandShell to Forth.ini
  90.  
  91.  1/15/93 - Version 0.018
  92.    Correct problems with GETKEY. Forth/2 now works properly in a window.
  93.  
  94.    New routine (KEY), needs a parameter (0 = wait, 1 = NO wait)
  95.    Now have (KEY), KEY, KEYnoWAIT
  96.    Add RECURSE
  97.    Add FENCE to FORGET in Forth.ini
  98.  
  99.  1/14/93 - Version 0.017
  100.    Modify code in DP! to work better. Improve behavior of ' when word is
  101.    NOT found. Add FORGET to Forth.Ini
  102.    Rename to FORTH/2
  103.  
  104.  1/14/93 - More 0.016
  105.    Add sample code to FORTH.INI that uses SYSCALL and the constants provided
  106.    to OPEN, CLOSE, read and write files.
  107.  
  108.  1/13/93 - More 0.016
  109.    Add U*/MOD, revise */MOD to do an IDIV instead of DIV....
  110.    Add ?COMPILE, [COMPILE], ', and DOES>
  111.      Tested, appear to work.
  112.  
  113.  1/12/93 - Version 0.016
  114.    Modify meaning of SP! to comply with standards, rename S0 to SP0
  115.    Add RP0, RP@, RP!, R@
  116.  
  117.  1/11/93 - Version 0.015
  118.    Fix /MOD and */MOD, left results in wrong order
  119.    Fix >,>=,<,<= they all used UNSIGNED math, which is INCORRECT
  120.    Add HERE,DP! for dictionary access
  121.    Add " for strings
  122.    Add Test routines SYS$BEEP (returns address of DOS32BEEP)
  123.      and SYSCALL (Call an OS/2 routine)
  124.  
  125.  1/ 7/93 - Version 0.014
  126.    Remove duplicate AND,OR,XOR
  127.    Add Brians */ (Works well!)
  128.    Add /MOD, */MOD, ABS, NEGATE, MIN, MAX, TYPE, FOPEN, FCLOSE, FREAD,
  129.        TIB, #TIB, SPAN, EXPECT, QUERY, INTERPRET, PROMPT, AUTOLOAD
  130.    Add TESTMAIN - A test version of the main loop
  131.    (Wow - 7 Hours Straight!)
  132.    AutoLoad feature works. - Loads definitions (up to 16k) from FORTH.INI
  133.  
  134.  1/ 5/93 - Version 0.013
  135.    Fix / MOD and U/, add StackCheck before prompt.
  136.  
  137.  1/ 4/93 - Version 0.012
  138.    Add <,>,<=,>=,=,<>
  139.  
  140.  1/ 4/93 - Version 0.011
  141.    Fix bug in LOOP which dropped 1 too many stack values
  142.  
  143.  1/ 1/93 - Version 0.010
  144.    Add MASM macros PushForth, PullForth, and Compiles
  145.    Add FOR/NEXT, which is a much better DO ... LOOP
  146.    Add DO ... LOOP and IF ... ELSE ... THEN
  147.  
  148. 12/31/92 - Version 0.009
  149.    Add CONSTANT, CREATE, VARIABLE, ALLOT, "," and "C," and the supporting
  150.    routines DoesConstant and DoesVariable
  151.    (Need to have places to put file handles, etc)
  152.    ** Look for version 0.010 to have conditional branching...
  153.  
  154. 11/13/92 - Version 0.008
  155.    Make literal, Compile Only, and Immediate
  156.    Add COMPILE, the ultimate in sneaky forth words
  157.    Fix CR
  158.  
  159. 11/10/92 - Version 0.007
  160.    Add Brian Mathewson's code for SP!, [, and ]
  161.    Add header for ?STACK
  162.    Make LITERAL an Immediate word
  163.    Add RESET, improve logic
  164.  
  165. 11/08/92 - Version 0.006
  166.    Add new words:
  167.      ROT, .S, MOD, ( comments ), IMMEDIATE, ." show string",
  168.      CRLF, DEBUG ( a debugging variable )
  169.  
  170.  
  171. 11/08/92 - Version 0.005
  172.    Add new macro CodeDef, to make maintenance easier
  173.  
  174.    Add new words:
  175.      OVER, DROP, W, S0, SP@, DEPTH, C@, C!, W@, W!, STATE
  176.  
  177.    Current Vocabulary:
  178.      OVER DROP W S0 SP@ DEPTH SWAP DUP .
  179.      HEX DECIMAL BASE W! W@ C! C@ ! @
  180.      XOR OR AND U/ U* / * - + STATE
  181.      : ; COMPILECALL LITERAL
  182.      EMIT KEY BYE VLIST
  183.  
  184.    Note: KEY returns the ascii code in the low byte, and the scan code
  185.    in the upper byte. This is not standard, but it does allow the use
  186.    of F1-F10, etc.
  187.  
  188.  
  189. 10/12/92 - Version 0.004
  190.    Fix bugs:
  191.       Error handling routine got contents of stack, instead of address
  192.       Correct handling of IMMEDIATE definitions
  193.  
  194.    Add EMIT - Uses VioWrtTTY, and not STDOUT
  195.      * Thanks to Larry Bank for his VIO32.ASM sample program.
  196.        I only wish I had that sooner.
  197.      * Emit makes it possible to use ANSI strings to set colors for output
  198.  
  199.    I will soon add GotoXY, GetXY and ClrScr....!
  200.   Current Vocabulary:
  201.     : ; COMPILECALL LITERAL KEY HEX DECIMAL BASE ! @ BYE VLIST
  202.     SWAP DUP XOR OR AND U/ U* / * - + .
  203.  
  204.  
  205. 10/08/92 - Version 0.003
  206.    Add code to do handle compiling constants, etc.
  207.    Add : ; LITERAL and COMPILECALL to vocabulary
  208.  
  209.    Add internal routine to dump registers, when needed for debugging.
  210.  
  211.    Add a real set of legal disclaimers to documentation.
  212.  
  213.  
  214.  
  215. 10/07/92 - Version 0.002
  216.  
  217.    Finally figure out how to get a keystroke from OS/2
  218.    (No help from IBM what so ever!)
  219.  
  220.    Add KEY to vocabulary list (Whew)
  221.  
  222.  
  223.